#ifndef _HDL_SERIAL_DRIVER_H_
#define _HDL_SERIAL_DRIVER_H_

#include "app.h"

#define USART_CMD_MS  10

struct _hdl_usmart_dev
{
    int         (*usmart_scan)(void);
    uint8_t     USMART_RX_BUF[256];
    uint16_t    (*func_num)(void);
    BOOL        API_Match_flag;
};

#define MAX_FNAME_LEN 		30	//函数名最大长度，应该设置为不小于最长函数名的长度。											   
#define MAX_PARM 			10	//最大为10个参数 ,修改此参数,必须修改usmart_exe与之对应.
#define PARM_LEN 			200	//所有参数之和的长度不超过PARM_LEN个字节,注意串口接收部分要与之对应(不小于PARM_LEN)

#ifndef MAX_ARGC
#define MAX_ARGC 	36//18
#endif
#ifndef LOG_SERVICE_BUFLEN
#define LOG_SERVICE_BUFLEN     64
#endif

typedef void (*log_act_t)(void *);
struct _hdl_serial_str_cmp
{
	char* name;
	log_act_t func;
};

extern BOOL hdl_cmd_debug_flag;
extern struct  _hal_serial g_hdl_usart_if;
extern struct _hdl_serial_str_cmp *str_cmp;
#endif
